package com.sisgesbyte.web.util;

import javax.inject.Inject;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

import com.sisgesbyte.common.Validaciones;
import com.sisgesbyte.web.beanUtil.UsuarioActivoBean;

public class WebSessionListener implements HttpSessionListener{
	
	@Inject
	private Validaciones validaciones;
	
	@Override
	public void sessionCreated(HttpSessionEvent arg0) {
		System.out.println("Session Creada");

	}

	/**
	 * Metodo que detecta cuando se elimina la session y elimina de usuarios activos
	 * **/
	@Override
	public void sessionDestroyed(HttpSessionEvent arg0) {
		System.out.println("Empezando a eliminar la Sessiones ");
		int i = 0;
		int itemEliminar=-1;
		boolean isUsuario = false;
		for(UsuarioActivoBean user : validaciones.listaUsuarios){
			if(user.getCodSession().equalsIgnoreCase(arg0.getSession().getId().replace(".undefined", ""))){
				itemEliminar = i;
				isUsuario=true;
			}
			++i;
		}
		
		if(isUsuario){
			validaciones.listaUsuarios.remove(itemEliminar);
		}
		
	}

}
